|
Atom is a domain-specific language (DSL) in Haskell, for designing real-time embedded software. == History == Originally intended as a high level hardware description language, Atom was created in early 2007 and released in open-source of April of the same year.〔(ANN: Atom - Yet another Haskell HDL )〕 Inspired by TRS 〔(Synthesis of Operation-Centric Hardware Descriptions ). James C. Hoe and Arvind. International Conference on Computer Aided Design (ICCAD), November 2000.〕 and Bluespec, Atom compiled circuit descriptions, that were based on guarded atomic operations, or conditional term rewriting, into Verilog netlists for simulation and logic synthesis. As a hardware compiler, Atom's primary objective was to maximize the number of operations, or rules, that can execute in a given clock cycle without violating the semantics of atomic operation. By employing the properties of conflict-free and sequentially-composable rules,〔 Atom reduced maximizing execution concurrency to a feedback arc set optimization of a rule-data dependency graph. This process was similar to James Hoe's original algorithm.〔 When Atom's author switched careers in late 2007 from logic design to embedded software engineering, Atom was redesigned from an HDL to a domain specific language targeting hard realtime embedded applications. As a result, Atom's compiler's primary objective changed from maximizing rule concurrency to balancing processing load and minimizing worst case timing latency. In September 2008, Atom was presented at CUFP,〔(Controlling Hybrid Vehicles with Haskell. )〕 and in April 2009, was released as open-source in its new form.〔(ANN: atom-0.0.2 )〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Atom (programming language)」の詳細全文を読む スポンサード リンク
|